-
Notifications
You must be signed in to change notification settings - Fork 2.1k
feat: add ab_plot.py script #5508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: add ab_plot.py script #5508
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5508 +/- ##
=======================================
Coverage 82.87% 82.87%
=======================================
Files 270 270
Lines 27780 27780
=======================================
Hits 23024 23024
Misses 4756 4756
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
8c540fc to
54e520a
Compare
54e520a to
adc3897
Compare
Add a script to create visualizations of performance data. - works for both single and multiple inputs - allows comparison of different hosts - allows comparison of multiple tests - can generate pdf and html outputs Signed-off-by: Egor Lazarchuk <[email protected]>
These libraries are needed for the ab_plot.py. At the same time update `python` version defined in the `pyproject.toml`. This is required because for some reason poetry errors when pooling dependencies saying the python version is too old. Updating the python version caused other problems with poetry installation with `pip3 install`. Because of this, change the way poetry is insatlled by pooling it directly from a website. Additionally the change broke somehow `virtualenv`, so just install `python3-venv` manually. Signed-off-by: Egor Lazarchuk <[email protected]>
adc3897 to
7b97660
Compare
| usage: | ||
|
|
||
| ```sh | ||
| ./tools/plot.py a_path b_path --output_type pdf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct filename
| ./tools/plot.py a_path b_path --output_type pdf | |
| ./tools/ab_plot.py a_path b_path --output_type pdf |
|
|
||
| ### A/B visualization | ||
|
|
||
| To create visualization of A/B runs use `tools/ab_plot.py` script. Example |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps worth noting that pdf generation may be slow for tests that generate a lot of data? E.g. test_boottime.py:
- pdf: 60s
- table 0.3s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should add a code path in the devtool to run this? That way it's consistent with the already existing run and analyze commands. Let me know what you think
Changes
Add a script to create tables and plots for performance runs. It works for both single and multiple runs and can generate pdf and html output.
Here are exaples of the output:
test_block_performance.pdf
test_block_performance.html
Reason
Better A/B comparisons.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license. For more information on following Developer
Certificate of Origin and signing off your commits, please check
CONTRIBUTING.md.PR Checklist
tools/devtool checkbuild --allto verify that the PR passesbuild checks on all supported architectures.
tools/devtool checkstyleto verify that the PR passes theautomated style checks.
how they are solving the problem in a clear and encompassing way.
in the PR.
CHANGELOG.md.Runbook for Firecracker API changes.
integration tests.
TODO.rust-vmm.